//
//  main.m
//  06-HomeWork
//
//  Created by dllo on 16/7/11.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
//    NSDate
//    
//    计算当前时间和一个固定时间的差值,如果差值在60秒内,输出"刚刚",如果在60秒外3600秒内,输出"xx分钟前",如果3600秒外, 3600*24秒内,输出"xx小时前"
//    将字符串@"2016年04月01日 01点20分18秒"转换为NSDate对象。
//    将1468232420转成日期类型
//    研究NSDateComponents
    NSDate *currentData = [NSDate date];
    NSLog(@"%@",currentData);
//    得到一个距离当前时间间隔时间点的创建方法 dateWithTimeIntervalSinceNow:(NSTimeInterval)
    NSDate *beiJingDate = [NSDate dateWithTimeIntervalSinceNow:8*60*60];
    NSLog(@"%@", beiJingDate);
//   计算两个时间点的时间间隔  timeIntervalSinceDate:
    NSDate *pastDate = [NSDate dateWithTimeIntervalSinceNow:-370];
    NSTimeInterval interval = [currentData timeIntervalSinceDate:pastDate];
    NSLog(@"%.2f", interval);
    if (interval < 60) {
        NSLog(@"刚刚");
    } else if (interval > 60 && interval < 3600) {
        NSLog(@"%.2f分钟前", interval / 60);
    } else if (interval > 3600 && interval <= 24 * 3600){
        NSLog(@"%.2f小时前",interval / (60 * 60));
    } else {
        NSLog(@"%@", pastDate);
    }
    
    NSString *stringDate = @"2016年04月01日 01点20分18秒";
//    使用时间格式对象借助时间字符串格式化时间对象 NSDateFormatter
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy年MM月dd日 HH点mm分ss秒"];
    NSDate *dateString = [dateFormatter dateFromString:stringDate];
    NSLog(@"%@", dateString);
    
    NSDate *date1 = [NSDate dateWithTimeIntervalSince1970:1468232420];
    NSLog(@"%@", date1);
//    NSDateComponents封装在一个可扩展的，面向对象的方式的日期组件。它是用来弥补时间的日期和时间组件提供一个指定日期：小时，分钟，秒，日，月，年，等等。它也可以用来指定的时间，例如，5小时16分钟。一个NSDateComponents对象不需要定义所有组件领域。当一个NSDateComponents的新实例被创建，日期组件被设置为NSUndefinedDateComponent。
    return 0;
}
